#include "gtest/gtest.h"

#include "stream/Meta.h"
#include "stream/meta/Size.h"

using namespace stream;
TEST(MetaTest, testMeta){
	{
		Meta meta;
		ASSERT_EQ(0ull, meta.size().get());
	}
}

using namespace meta;
TEST(MetaTest, testSize){
	meta::Size size;
	ASSERT_EQ(0ull, size.get());

	size.inc();
	ASSERT_EQ(1ull, size.get());

	size.dec();
	ASSERT_EQ(0ull, size.get());

	size.inc(2);
	ASSERT_EQ(2ull, size.get());

	size.dec(2);
	ASSERT_EQ(0ull, size.get());

	size.set(10);
	ASSERT_EQ(10ull, size.get());
}

